package algorithms.question.class07;

import common.util.MyUtil;

/**
 * 给定一个非负数组成的数组，长度一定大于1
 * 想知道数组中哪两个数&的结果最大
 * 返回这个最大结果
 * <p>
 * 时间复杂度O(N)，额外空间复杂度O(1)
 *
 * @author guichang
 * @date 2021/8/4
 */

public class Code1_两数相与结果最大 {
    // 从右往左第30位开始看是否是1，遍历31次，仅有两个1直接返回

    public static void main(String[] args) {
        for (int i = 1; i < 100; i++) {
            for (int j = i; j < 100; j++) {
                MyUtil.printf("{}&{}={}", i, j, i & j);
            }
        }
    }

}